package main

import (
	"fmt"
	"io"
	"os"
)

/**
在指定的位置写入相应的数据
*/
func main() {

	file, err := os.Create("D:/迅雷下载/d.txt")

	if err != nil {
		fmt.Println(err)
	}

	defer file.Close()
	file.WriteString("HelloWorld")
	var str = "asdfg"
	//0表示从最开始的地方写入
	at, err := file.WriteAt([]byte(str), 0)
	if err != nil {
		fmt.Println("写入数据错误")
	}
	fmt.Println(at) //5		返回的是插入的数据的长度
	/**
	原先有的字符串HelloWolrd
	写入的时候从0开始，会覆盖掉原来的从0开始的位置
	*/
	//asdfgWorld

	fmt.Println("=================================================================")

	/**
	在文件后面追加写入内容
	Seek()将光标定义在文件的后面
		0代表在原有的文件后面添加0个空格，如果是10就会添加10个空格，然后返回的seek也是原有字符串长度的加上偏移量的长度
		seek是字符串的长度，加上偏移量长度
	*/
	seek, err := file.Seek(0, io.SeekEnd)
	//如果要在文件后面写入
	sss := []byte{'1', '2', '3', '4'}
	file.WriteAt(sss, seek) //传入文件的位置，在后面写入

}
